3、JdbcOdbc桥方式 先通过管理工具中的数据源来添加本地对Oracle数据库的连接,然后通过以下的数据库连接类,在本地通过JdbcOdbc桥方式获得Oracle数据库连接。
/*** 在本地获得数据库连接*/package com.j2ee.db;import java.util.*;import java.sql.*;import javax.sql.*;import java.io.*;import oracle.jdbc.driver.*; import javax.naming.*; /*** 通过JdbcOdbc桥方式获得Oracle数据库连接*/public class DbConnection { /** * */ public DbConnection() { } /** * 获得Oracle数据库连接 */ public java.sql.Connection connectDbByJdbcOdbcBridge() { java.sql.Connection conn=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:ora199","sr","sr"); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; }} 在getConnection方法中第一个参数"jdbc:odbc:ora199" 中的"ora199"为本地ODBC数据源的数据源名称,第二个参数和第三个参数分别为Oracle的用户名和口令。 二、通过连接池获得Oracle数据库连接 这部分主要讲述在iPlanet Application Server 6.5和Sun ONE Application Server 7中Oracle数据库连接池的配置,以及在应用中如何通过连接池获得数据库的连接。 1、iPlanet Application Server 6.5连接池的配置 先打开iPlanet Application Server 6.5的管理控制台,选中"database"面板,再选择"External JDBC Drivers"选项后,点击"Add…"按钮,在弹出的对话框中,添加一个名为"ora-type4"的JDBC Driver。 Driver Classpath:该参数填写classes12.zip文件的物理路径。 然后在"External JDBC DataSources"中选择"Add…",在弹出的对话框中添加一个JNDI名称为"credit2"的数据源。 DriverType:选择刚添加好的"ora-type4"; Datasource:ora199,为Oracle数据库服务名; Connection Pool Parameters:图中显示的是缺省设置,可以根据自己环境情况来更改这些设置。 保存完设置后,在"DataSource Selection Box"中,选择刚添加的"credit2"数据源,再选择"Vendor Specific Properties"按钮。在对话中添加一个URL属性。 至此,iPlanet Application Server 6.5中的数据库连接池配置完毕,重起服务使之生效。 2、Sun ONE Application Server 7连接池的配置 在配置之前将classes12.zip文件置于…/server1/lib目录下。通过浏览器的4848端口打开Sun ONE Application Server 7的管理界面,选择"server1"->"JDBC"-> "Connection Pools"下的"New…" 添加一个名称为"MyConnectionPool"的Oracle数据库连接池。"Next"下一步。 在"General"中填写"Datasource Classname"。 在"Properties"中将不需要的属性删除,同时添加"URL"属性。 "dataSourceName"中填写Oracle数据库服务名。 以下连接池的缺省设置,可以根据自己环境的情况作相应的调整。 选择"Finish"完成连接池的设置。 下一步为"MyConnectionPool"连接池创建一个JNDI,以便应用程序能够通过该名称获得连接池中的连接。 "server1"->"JDBC"-> "JDBC Resources"下的"New…" 至此,Sun ONE Application Server7中的数据库连接池配置完毕,重起服务使之生效。 3、通过连接池获得连接 以上在iPlanet Application Server 6.5和Sun ONE Application Server7中配置的连接池都可以通过以下的数据库连接类,从连接池中获得Oracle数据库连接。
/*** 从连接池中获得数据库连接*/package com.j2ee.db;import java.util.*;import java.sql.*;import javax.sql.*;import java.io.*;import oracle.jdbc.driver.*; import javax.naming.*; /*** 通过连接池方式获得Oracle数据库连接*/public class DbConnection { /** * */ public DbConnection() { } /** * 获得Oracle数据库连接 */ public java.sql.Connection connectDbByConnectionPool() { java.sql.Connection conn=null; try { Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/credit2"); conn=ds.getConnection(); } catch (Exception e) { System.out.println("ERROR:"+e.getMessage()); } return conn; }} 4、使用连接池的优点 使用连接池的优点主要体现在两个方面: 对数据库的连接统一进行配置、管理、监控,以及对数据库连接池的参数进行优化调整,同时对应用中没有关闭或其他原因造成没有关闭的数据库连接由连接池统一进行管理。 便于应用的移植和后端数据库的切换,因为在应用中通过统一的JNDI获得数据库的连接,而具体连接的是哪一台机器上的数据库与应用无关。
|